home *** CD-ROM | disk | FTP | other *** search
-
-
-
-
- PC HACK version 3.6 for MSDOS(tm) computers
- -------------------------------------------
-
- by Don Kneller
- 2 Panoramic Way #204
- Berkeley, CA 94704
- Oct 22, 1986
-
-
- Introduction
- ------------
-
- HACK is a display oriented dungeons and dragons type game. It is
- similar in style to ROGUE played on UNIX(tm) systems but HACK is much
- richer in character. HACK has many more monsters and highly varied magic.
- The motivation in HACK is to descend through the dungeon to find the Amulet
- of Yendor, then return to the surface. As you travel you will meet various
- creatures (most of them nasty), find objects (some having magical proper-
- ties), and experience many hazards in the dungeon itself.
-
- PC HACK is the MSDOS version of UNIX HACK which was originally written
- by Jay Fenlason (Jay the Hacker), then heavily modified by people at the
- Stichting Mathematisch Centrum in Amsterdam. This MSDOS version is called
- PC HACK 3.6. When you are playing PC HACK, the `v' command will display
- the version number.
-
- For those who have played HACK on UNIX, this is a complete version
- 1.03 with a few enhancements:
-
- 1) You can specify the characters used to draw the dungeon instead of
- the -|+#. See the GRAPHICS variable below.
-
- 2) If your computer is IBM BIOS compatible, the numeric keypad can be
- used for moving as well as the usual "yuhjklbn" keys. See the
- option "IBMBIOS".
-
- 3) New options available through the 'O' command.
- "confirm" If you try to hit tame or peaceful monsters (like
- your dog) PC HACK asks for confirmation.
-
- "silent" You can turn off the bell for a quieter game.
-
- "sortpack" Your pack can be sorted by object class (ie. all
- weapons will be displayed together).
-
- "packorder" The order to sort your pack in.
-
- "pickup" You can change the option "pickup" so you look at
- what is below you rather than pick it up. Handy for
- scare monster scrolls and avoiding picking up dead
- cockatrices. Also handy for browsing in shops.
-
- "rawio" If you can use this option on your computer you will
- get faster screen output and better input control.
- ======== WARNING ========
- This option may hang your computer !! If this option
- causes your computer to hang, do not use it! It is
- known that DEC Rainbows will hang with this option.
- ==========================
-
-
-
-
-
-
- "IBMBIOS" If your computer is IBM BIOS compatible, you can use
- the numeric keypad for moving.
-
- "DECRainbow" If your computer is a DEC Rainbow, you *must*
- specify this option for character graphics to work!!
-
- 4) Floppy, HardDisk and RAMdisk support. *Complete* (I hope)
- protection from disk full problems. Version 3.6 is much smarter
- about handling disks than previous PC HACK versions -- if your
- RAMdisk gets filled, the old levels get swapped out.
-
- 5) Configuration comes from a file instead of environment variables.
- See HACK.CNF below.
-
- 6) PC HACK uses the ANSI.SYS driver, making it quite portable between
- MSDOS machines.
-
- 7) Save files are portable between MSDOS machines.
-
- 8) A few monsters have been changed slightly to test new features. A
- few commands have been added.
-
-
- System requirements
- -------------------
-
- To play PC HACK you need the following:
-
- 1) MSDOS computer running MSDOS (or PCDOS) 2.0 or newer.
-
- 2) The ANSI.SYS driver must be installed. Your CONFIG.SYS file must
- have a line like:
- DEVICE = ANSI.SYS
-
- 3) 320K ram or more. Extra memory can be used as a RAMdisk.
-
- 4) 2 or more 360K floppies or a HardDisk.
-
-
- Changes from *all* previous versions of PC HACK:
- ------------------------------------------------
-
- 1) All PC HACK 3.6 bones and save files are incompatible with versions
- older than 3.2 (this includes 1.01E, 1.03G and 3.0). You should
- remove your old files.
-
- 2) PC HACK uses time and date information in the game. You should set
- the time and date when you boot up MSDOS.
-
-
- Changes from PC HACK 3.4
- ------------------------
-
- Rest_on_space was restored. A bug in the object descriptions was
- fixed. A copy of COMMAND.COM must always be available where COMSPEC says
- it is so PC HACK can copy bones files and do the shell escape. A bug in
- restoring the hell hound from save games was fixed. TERMCAP is now used so
- it is possible to set your own colors and other character attributes.
-
-
-
-
-
-
-
-
- TERMCAP
- -------
-
- HACK now uses the UNIX "termcap" to select escape sequences to be sent
- to the terminal driver (either ANSI.SYS or NANSI.SYS) to change video
- modes. When HACK starts up, it checks in the environment for the variable
- called "TERM". The DOS command:
- set TERM ibmpc-ega
- will give the environment variable "TERM" the value "ibmpc-ega". By
- default, HACK assumes the value of TERM is "ibmpc-mono".
-
- Then HACK looks in the file called "TERMCAP" for a terminal definition
- with the same name as the value of TERM. HACK first looks for TERMCAP in
- the current directory, then in directory "\ETC" (the normal UNIX place),
- then in directories along your PATH.
-
- The TERMCAP file uses 2 letter codes to describe each escape sequence
- and \E to mean ESC (the escape character is decimal 27). Each entry is
- enclosed in colons. For example, to start underscore mode on a monochrome
- display, we want to send the sequence "ESC[4m". This looks like
- ":us=\E4m:" as a termcap entry.
-
- The following sequences are used by HACK and can be changed:
-
- ti terminal initialization. You could have something like:
- :ti=\E44;37m:
- which would mean to select blue background and white foreground.
-
- te terminal end. To reset your terminal to white on black:
- :te=\E0m:
-
- so stand out. Select red forground, keeping the blue background:
- :so=\E31m:
- This is used for displaying highlighted text.
-
- se standout end. Back to white on blue:
- :se=\E44;37m:
-
- us,ue underscore start; underscore end. Used for highlighting the
- titles in the inventory.
-
- HACK also uses some sequences which you should not change: ho (home),
- cl (clear screen), bs (backspace), co (# of columns), li (# of lines), ce
- (clear to end of line), cm (cursor motion), xd (cursor down), nd (cursor
- forward), up (cursor up), bc (cursor back).
-
- If you want to make your own TERMCAP entry, copy the "ibmpc-mono"
- entry, replace the name (eg use "ibmpc-color" or "ibmpc-ega" or whatever),
- then replace the sequences with whatever you please. The possible escape
- sequences are listed in Chapter 13 of the DOS 2.0 manual. The NANSI.DOC
- file has a table of character attributes that you can use with NANSI.SYS.
- They are the same as used by ANSI.SYS.
-
- Remember to change the environment variable "TERM" to reflect which
- TERMCAP entry you want! You should probably put a "set TERM=..." line in
- your AUTOEXEC.BAT file. Also, make sure you put the TERMCAP file somewhere
- on your PATH.
-
-
-
-
-
-
-
-
-
- Commands new to PC HACK 3.4
- ---------------------------
-
- ^A `abort'. Certain commands like waiting, searching, opening a tin,
- and digging can now be aborted. Eg. if you do `20.' then see a
- monster appear in the doorway, you can use ^A (control-A) to stop
- your waiting.
-
- a `again'. Do the previous command again. The apply command has
- been moved to `A' to accommodate `again'.
-
- gG `g' takes the place of `f' which will be "fight until wounded".
- Similarily, `G' takes the place of `F' which will be "fight to the
- death". Neither of the `fight' commands have been installed yet.
-
-
- Commands new to PC HACK 3.0
- ---------------------------
-
- e 'eat' now lets you eat something you're standing on; you no longer
- have to be able to pick something up before you can eat it.
-
- I selective inventories. For example I= shows which rings you have
- in your inventory.
-
- : look at what you're standing on without picking it up.
-
- # lets you enter an extended command. The only ones are "dip" and
- "pray". Dip lets you put objects in potions.
-
- @ Toggles the "pickup" option so you don't have to do "O pickup" and
- "O !pickup".
-
- ! Starts up another COMMAND.COM if you have enough memory.
-
-
- Configuration of PC HACK for your MSDOS computer
- ------------------------------------------------
-
- The configuration of PC HACK is controlled by a configuration file
- HACK.CNF. This configuration file should be in the directory you are
- playing from, or somewhere on the PATH. When PC HACK starts up, it uses
- the PATH to find HACK.CNF. You must also put the TERMCAP file on the PATH.
-
- The HACK.CNF file contains variables for configuring PC HACK to your
- system. The variables are:
-
-
- HACKDIR
- -------
-
- HACKDIR is the directory name of the place where all support files go.
-
- example: HACKDIR=c:\games\hack
-
- The support files are:
-
- HELP - A description of commands and options.
- HH - An abridged version of the above.
- DATA - Information about monsters and objects in the game.
-
-
-
-
-
-
- RECORD - The score file (it may start out empty, but it must
- exist). The top score for each name and class are saved,
- but only the top 100 scores are kept.
- RUMORS - Fortune cookie hints (some are true, some are not).
-
- Put all these files in the directory HACKDIR. If HACKDIR is not set,
- the support files are assumed to be in the current directory. If you don't
- have enough disk space, the only file you're required to have is RECORD,
- but try to have RUMORS and DATA on your disk also.
-
-
- LEVELS
- ------
-
- If the RAMDISK variable is not set, this is where the temporary dungeon
- levels get made. Also, this is the directory where some temporary dungeon
- levels get left as bones files (a description of previous games).
-
- example: LEVELS=C:\games\hack
- default: the HACKDIR directory
-
- This path can be absolute or relative to the HACKDIR directory.
-
-
- SAVE
- ----
-
- The directory where any saved games will be kept.
-
- example: SAVE=save;n
- default: the HACKDIR directory
-
- If your player name is JOE, and the SAVE variable is save, then your saved
- game will be in HACKDIR\save\joe.sav. Normally, HACK will prompt you to
- put in the SAVE disk if it can't find a save file when you first start the
- game. Appending ";n" to the save path results in *no* prompt for diskette
- insertion. This is useful if you have a HardDisk (eg SAVE=;n means save
- the game in the HACKDIR directory and don't prompt).
-
- After restoring your saved game, HACK will prompt you to put the GAME disk
- in only if it can't find RECORD and COMSPEC.
-
-
- RAMDISK
- -------
-
- The drive and directory where your RAMdisk is. This is where PC HACK
- creates its temporary dungeon files.
-
- example: RAMDISK=D:
- default: none
-
- When PC HACK runs out of storage on the RAMdisk it swaps the oldest files
- out to your LEVELS directory. A RAMdisk is very effective in speeding up
- the game, especially for floppy-only systems. To override the RAMDISK
- variable, use the -R command line option (see below).
-
-
-
-
-
-
-
-
-
-
- GRAPHICS
- --------
-
- Rather than use -, |, +, # for drawing the dungeon you can use any
- characters from the character set. The GRAPHICS variable has 9 arguments
- that describe the the rooms and corridors. The arguments are all integers
- in the range from 0 to 255 and correspond to the ASCII values of the
- characters you want to use. The order of the variables is:
-
- vertical wall, horizontal wall, top left corner, top right corner,
- bottom left corner, bottom right corner, door, floor, corridor.
-
- The HACK.CNF file has examples of the use of this variable for both IBM
- graphics characters and DEC Rainbow line-drawing characters.
-
- example: GRAPHICS = 179 196 218 191 192 217 206 250 176
- default: decimal equivalents of: | - - - - - + . #
-
- If you have a DEC Rainbow, you can use any characters from the ASCII
- character set and from the "line-drawing character set". To use the line-
- drawing characters, take the decimal value of the character and add 128 to
- it. This makes the value of the line-drawing characters lie between
- decimal 128 and 255 and tells PC HACK you want a line-drawing character.
- See HACK.CNF for a GRAPHICS variable suitable for DECs.
-
- DEC Rainbow users must also have the DECRainbow option (see below) in the
- OPTIONS line or the graphics characters will not be drawn correctly.
-
-
- OPTIONS
- -------
- Determines many smaller aspects of the game. Options can be set before the
- game in the HACK.CNF file and most can be modified during the game with the
- 'O' command. You can change several options at a time by separating the
- options with commas. Generally, 4 characters are sufficient to identify
- the option, so 'O sort' is the same as 'O sortpack'.
-
- There are two kinds of options:
-
- 1) BOOLEAN, which can be either TRUE or FALSE.
- For example, "sortpack". To turn it ON, do 'O sortpack' while
- playing or have an "OPTIONS=sortpack" line in your HACK.CNF file.
- To turn it OFF, do 'O !sortpack' or have "OPTIONS=!sortpack" in
- your HACK.CNF file.
-
- 2) COMPOUND, which have one or more values.
- For example, "packorder". To change the displayed ordering of the
- pack you might have an "OPTIONS=pack:%)!?" line in your HACK.CNF
- file. The compound option "name" can only be set in HACK.CNF.
- Also, "name" should only be made up of characters A-Z, 0-9, and _
- and "name" will be truncated to 10 characters in the RECORD file.
-
- When playing, type 'O help<RETURN>' to get a little help on these options.
- The HELP file has a short description of all options.
-
-
-
-
-
-
-
-
-
-
-
-
- Options new to PC HACK 3.0
- --------------------------
-
- confirm
- Whether you want confirmation before hitting tame monsters. This
- can be very helpful if you have the problem that you hit your dog
- and the shopkeepers by accident. If you are blind or confused,
- though, you don't get this protection! By default, TRUE.
-
- silent
- If TRUE, the bell is silent on input errors. By default, FALSE.
-
- sortpack
- Whether your pack should be ordered by object class when listed in
- an inventory. Otherwise your pack is listed alphabetically by
- inventory letter. By default, TRUE.
-
- packorder
- The order to display your inventory in. By default, ")[%?/=!(*0
- To change the order, use 'O pack:<new order>' where <new order> is
- a set of characters representing the various object types. If you
- don't give a character for each object type, the unspecified object
- classes are put at the end of the <new order>.
-
- pickup
- If FALSE, you look at things you step on without picking them up.
- You always pick up gold if it is the only thing there. Pickup is
- toggled between TRUE and FALSE with the '@' key. By default, TRUE.
-
- rawio
- ========== WARNING ==========
- Some computers (notably DEC Rainbows) will hang if rawio is TRUE.
- If this happens to your computer, remove the OPTIONS=rawio line in
- the HACK.CNF file. This option can only be set in HACK.CNF.
- ==============================
-
- If TRUE, the input and output of your computer will be switched to
- "raw" mode. The advantage of this is faster output and better
- handling of the special characters ^S and ^P.
-
- If FALSE, PC HACK will *not* put your terminal into "raw" mode.
- This causes a problem with the ^P command. When ^P is held until
- it repeats, MSDOS may see a ^P in the input buffer and toggle
- `output to printer'. However, if the printer is not ready, you'll
- get a DOS error about your printer. If you get this error, type a
- ^PrtSc, then `I' (ignore) the error. You may have to repeat this
- several times then use ^R to redraw the screen. The "solution" is
- not to hold down the ^P key.
-
- By default, FALSE.
-
- IBMBIOS (only for very IBM compatible computers)
- As HACK had its origins as a ROGUE-like game, the keys for movement
- are the same (keys yuhjklbn). Some people may prefer to use the
- arrow keys on the numeric keypad. Setting the IBMBIOS option TRUE
- tells PC HACK it can use BIOS calls to access the numeric keypad.
-
-
-
-
-
-
-
-
-
-
- With Numlock *ENABLED* the translation from numeric pad keys to
- game commands is:
-
- Numeric Pad Command
- 7 8 9 - u+l(y) up(k) u+r(u) move(m)
- \ | / \ | /
- 4 -5- 6 + left(h) go(g) right(l) pay(p)
- / | \ / | \
- 1 2 3 d+l(b) down(j) d+r(n)
- Ins Del inventory(i) wait(.)
-
- The letter in () is the corresponding game command letter. 'u+l'
- means up and left. The numeric pad '7' is translated to the game
- command for moving one space up and left. From the keyboard, you
- would enter the command ^H (control-H) to run left until you see
- something interesting. From the keypad, doing `gh' (the keys 5
- then 4) has the same effect. With Shift the commands become:
-
- u+l(Y) up(K) u+r(U) previous message(^P)
- \ | /
- left(H) nothing right(L) put on a ring (P)
- / | \
- d+l(B) down(J) d+r(N)
- selective inventory(I) look(;)
-
- Capital `H' means run left until you hit something.
-
- With NumLock *DISABLED*, shifted '5' does the go(g) and unshifted
- '5' does nothing. All other keys are translated the same.
-
- By default, FALSE.
-
- DECRainbow
- This option must be set if your computer is a DEC Rainbow and you
- want to use characters from the line-drawing character set to draw
- the dungeon. By default, FALSE.
-
-
- Sample configurations
- ---------------------
-
- Hard disk system:
-
- # Lines that start with `#' are comments.
- # HACKDIR is where all the support files go.
- HACKDIR=c:\games\hack
-
- # The `;n' means to not prompt for insertion of the save diskette.
- SAVE=;n
- RAMDISK=d:
- OPTIONS=name:Bert-C, silent
-
- Notice that in this example, no LEVELS variable was set. PC HACK will then
- default to the same directory as HACKDIR. Bert-C means your name is "Bert"
- and you'll play as a cave-person.
-
-
-
-
-
-
-
-
-
-
-
- Two floppy systems:
-
- Make a bootable GAME disk (by using format /s) and set up your disks as:
- GAME DISK: COMMAND.COM, ANSI.SYS, CONFIG.SYS, HACK.EXE, HACK.CNF,
- RECORD
- (optionally) RUMORS, DATA, HELP, HH, AUTOEXEC.BAT
- LEVELS DISK: empty (or with previous bones files)
-
- And your variables as:
-
- LEVELS=b:\
- SAVE=b:\
- RAMDISK=c: (optional)
- OPTIONS=name:Gerty-T, silent, time
-
- Boot from the GAME disk in drive A whenever you want to play PC HACK. The
- LEVELS disk will be on drive B. If there is no save file you will be
- prompted to put in the disk with the save file on it. This is necessary
- because the save file may get too large to store on the LEVELS disk. When
- this happens you can give an alternative file name for the save file. For
- this example, you could answer "A:GERTY.SAV" at the prompt and PC HACK will
- look for "A:GERTY.SAV" rather than "B:\GERTY.SAV".
-
- *IMPORTANT NOTES* In order to save a game, PC HACK must have access to the
- save file and all the level files at the same time. When restoring, only
- after your save file has been properly restored will PC HACK remove it. PC
- HACK will prevent you from saving the game if there is insufficient room.
-
- If you want to keep saved games on different floppies (perhaps for several
- players), one method is to make a bootable GAME disk (by using format /s)
- for each person and set up your diskettes as:
- GAME DISK(S): COMMAND.COM, ANSI.SYS, CONFIG.SYS, HACK.EXE,
- HACK.CNF (personalized for each player),
- (optionally) AUTOEXEC.BAT
- LEVELS DISK: RECORD,
- (optionally) RUMORS, DATA, HELP, HH
- previous bones files
- SAVE DISK(S): COMMAND.COM, save games
-
- And your variables as:
-
- HACKDIR=b:\
- # LEVELS defaults to the same directory as HACKDIR
- SAVE=a:\
- RAMDISK=c: (optional)
- OPTIONS=name:Gerty-T, silent, time
-
- Boot from the GAME disk in drive A whenever you want to play PC HACK. The
- LEVELS disk will stay in drive B. You will be prompted to put in the SAVE
- disk (into drive A). The copy of COMMAND.COM on the SAVE disks satisfies
- the COMSPEC requirement, since COMSPEC is still A:\COMMAND.COM.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Command line options
- --------------------
-
- -u name or -uname
- Specifies the name to use other than the value of the OPTIONS name.
- If you wish, you can append -C, -W, -S, -F, -K, or -T to the name
- to select the type of character you want to be.
-
- or: A> hack -u Terminator-T
-
- This means you will play as a Tourist with the name Terminator.
-
- -C, -W, -S, -F, -K, or -T
- Select the character you will be playing as. Choices are:
- Cave-person, Wizard, Spelunker, Fighter, Knight, or Tourist.
- This option can be lower or upper case (except for -S). Thus:
-
- A> hack -T
-
- means get your name from the OPTIONS line in the HACK.CNF file, and
- play as a tourist. If PC HACK can't get your name from the
- HACK.CNF file, you will be asked "Who are you?".
-
- -s [name]
- List the scores of the person with this name. If the name is not
- given, uses the value of the OPTIONS name. If the name is "all",
- list all scores in the record file. You can erase the contents of
- the record file if you wish, but it should exist.
-
- -R
- This tells PC HACK to ignore the RAMDISK variable in HACK.CNF.
- This command is a hold-over from a previous version.
-
- Once you have started PC HACK, type a '?' to get help on the available
- commands. Long help will show you the HELP file, short help will show you
- the HH file. You can also print the HELP file and keep it as a reference.
- Other useful commands are `/' to describe things you see on the screen
- (uses the DATA file), and `\' to list the objects thus far discovered.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- If the dungeon collapses ....
- -----------------------------
-
- On rare occasions PC HACK gets an error and quits with a collapsing
- dungeon. This may be due to a disk error or lack of enough memory (or,
- perhaps a program bug). Even though there may be "level.*" files left
- behind, the game cannot be recovered because the information that was in
- RAM is lost. You can delete the old level.* files before playing a new
- game, or PC HACK will do it for you next game. However, if you do leave
- the level.* files behind, PC HACK will void the next game you play, then
- remove the old files. You will then be able to play again.
-
- If you can find a way to consistently repeat the error, please let me
- know so I fix it.
-
-
-
-
- Finally
- -------
-
- You are encouraged to copy this program and give it to your friends
- and post it to BBS's. If you repost PC HACK, please use the archiving
- program `ARC' to put all the PC HACK files in an archive called
- PCHACK36.ARC. If you want to report a bug in PC HACK, or you just want to
- drop me a line with a suggestion, please let me know at any of the
- following locations. Make sure you mention which version you are playing!
-
- UUCP: ...ucbvax!ucsfcgl!kneller
- ARPANET: kneller@ucsfcgl.ARPA
- BITNET: kneller@ucsfcgl.BITNET
-
- US MAIL: D. G. Kneller
- 2 Panoramic Way #204
- Berkeley, CA 94704
-
-
- Good Luck and Happy Hacking !!
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-